package com.example.geguo.nettyclientchatdemo;

import android.app.AlarmManager;
import android.app.Application;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.SystemClock;

/**
 * 作者： 13687
 * 创建日期：2017/6/25
 * 功能描述：处理长连接
 */

public class App extends Application {
	@Override
	public void onCreate() {
		super.onCreate();
		// 登录后开启长连接
//		if (UserConfig.isPassLogined()) {
		if (true) {
			startLongConn();
		}
	}

	/**
	 * 通过闹钟服务实现具体的启动长连接service的操作，
	 * 即每隔60秒钟判断长连接是否启动，若未启动则实现启动操作
	 */
	private void startLongConn() {
//		quitLongConn(); // 先关闭
//		L.i("长连接服务已开启");
		AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
		Intent intent = new Intent(this, LongConnService.class);
		intent.setAction(LongConnService.ACTION);
		PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
		long triggerAtTime = SystemClock.elapsedRealtime();
		// 没隔 60 s 发送一次intent
		manager.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, 60 * 1000, pendingIntent);
	}
}
